Referring to FIG. 1, there is shown a schematic diagram of a packet-telephony network, also called an Internet Protocol (IP) network 10. Network 10 may comprise, for example, a fiber layer 12 such as that currently provided by Level 3 Communications, Inc. to drive voice and IP-VPN services on. More particularly, fiber layer 12 is used generally to transport IP packets, and more specifically, to transport voice on top of an IP layer.
Communication network 10 includes one or more computing devices which may be used by a calling party to initiate a voice over Internet Protocol (VoIP) call. Such devices, when used alone, or in combination with other devices as discussed below, function to convert analog audio signals into digital data packets that can be transmitted efficiently over the Internet. Commonly used computing devices include, for example, IP SoftPhones 14, analog telephone adapters 16, and IP phones 18. As those skilled in the art are aware, IP SoftPhones 14 (also called PC SoftPhones) generally comprise one or more application programs resident on a computer. Such applications and services are currently commercially available, for example, from Skype®, Net2Phone®, AOL®, Yahoo® and many other service providers. When used in conjunction with a microphone, speakers and a sound card, the above applications permit a general purpose computer to initiate and receive VoIP calls. Analog telephone adapters (ATA's) 16 (also called terminal adapters) provide the simplest and most common entry point for VoIP service. ATA's 16 allow users to connect a standard analog telephone to a computer or Internet connection such as a Digital Subscriber Line (DSL) modem, cable modem, etc. ATA's function as analog to digital converters which take analog signals from traditional telephones and convert the same into digital packets for transmission over the Internet. Many VoIP providers bundle ATA's free with their service. Finally, IP phones 18 are specialized telephones that look and function to the user as normal telephones with a handset, cradle and buttons. But instead of having standard RJ-11 phone connectors, RJ-45 Ethernet connectors are provided. IP phones 18 include all the necessary hardware and software to generate the required digital data packets. IP phones 18 may connect directly to a router through a wired connection or, in the case of Wi-Fi, through a wireless connection. Session Initiation Protocol (SIP) phones are exemplary IP phones in common use today.
As those skilled in the art will recognize, SIP is a general purpose application-layer control protocol (signaling protocol) which was developed and designed within the IETF (Internet Engineering Task Force). The specification for SIP is available in the form of several requests for comments (RFC's), the most important of which is RFC 3261. RFC 3261 contains the core protocol specification for creating, modifying and terminating sessions with one or more participants. In the case of VoIP, the protocol initiates call set-up, call authentication, call termination and other communication features to endpoints i.e. user agents within an IP domain. SIP is meant to make communication possible. The communication itself (the sounds that are digitized), however, must be achieved by other means (and possibly another protocol). Two protocols that may be used along with SIP are Real Time Transport Protocol (RTP) and Session Description Protocol (SDP). RTP is used to carry real-time multi-media (including audio, video and text) and makes it possible to encode and split the data into packets and transport such packets over the Internet. SDP is similarly used to describe capabilities of session participants. The description is then used to negotiate the characteristics of the session so that all the end devices can participate.
Significantly, SIP is an end-to-end oriented signaling protocol in that all the logic is stored in end devices (with the exception of routing SIP messages as discussed below). State is also stored in end-devices such that there is no single point of failure. This end-to-end design is a significant divergence from the Public Switched Telephone Network (PSTN) where all the state and logic is stored in the network and the end devices—plain old telephone service (POTS) telephones—are primitive. Although SIP is the most commonly used protocol for VoIP applications, it is not the only available or applicable signaling protocol for these applications. Other suitable protocols include, for example, H.323 created by the International Telecommunication Union (ITU) specifically for video conferencing, as well as Media Gateway Control Protocol (MGCP).
Network 10 further includes a plurality of entry or edge devices 20 which function, in accordance with the signaling protocol used, to recognize voice calls (as opposed to data calls) and provide the required interface to and from network 10. In the SIP protocol, for example, such edge devices are referred to generally as edge proxy servers (EPS's). Edge proxy servers are further provided in communication with the SIP core network 22 and, more particularly, with a core proxy server (CPS) 24. As shown, CPS 24 provides an entry point to the core network 22 and includes the intelligence for determining how and where to route voice calls.
Referring still to FIG. 1, IP network 10 may be provided in communication with a PSTN network 26 via a gateway device 28 and media gateway controller (MGC) 30 which together function to convert the Signaling System No. 7 (SS7) and time division multiplexed (TDM) analog signals of the PSTN to SIP and digital data packets and vice versa. PSTN network 26 is, of course, provided in communication with one or more POTS telephones 32 via a network of central offices and serving circuit based switches such as Class 5 switches 33 which are well known to those skilled in the art. Although not shown, network 10 may similarly be provided in communication with other suitable wired or wireless networks either directly via a suitable gateway device or indirectly via the PSTN.
The aforementioned devices that are internal to network 10, i.e. edge proxy servers, core proxy server, media gateway controllers, etc. are referred to generally in the art as “Softswitches” in that they are often logical entities comprising software running on general purpose computing platforms and may be co-located. Regardless of the physical location, these entities together function to independently process and route signaling messages through the network.
Signaling messages in an IP network are generally managed by the core network 22 and, more particularly, by a routing module 34 provided in communication with CPS 24. Although the determination of “how” to process such messages is generally defined and effected by the applicable signaling protocol, e.g. SIP, the initial determination of “where” to route such messages (which edge device) has been left to design choice. Heretofore, conventional systems have utilized hard coded and proprietary routing logic (static sets of process instructions) in conjunction with routing tables stored in relational databases to accomplish this task. Such systems may be understood from a logic flow perspective as comprising multiple layers of “if else” statements which function to handle every call in a prescribed manner based on defined logic. As readily seen, however, such systems may often be wasteful of network resources and time consuming and expensive to update as any changes in the logic require corresponding changes, tests and redeployment of the involved software.
Consequently, a need has developed for an improved system and method for receiving and intelligently routing signaling messages in a communication network such as an IP network. Such a system should utilize standardized data structures and be dynamically loadable and highly scalable so as to minimize network resources and be quickly and easily updated as new products and services become available.